iT邦幫忙

2024 iThome 鐵人賽

DAY 13
0
DevOps

探索亞馬遜雨林30天系列 第 13

Day 13: 使用serverless framework設定AWS EC2 Auto Scaling

  • 分享至 

  • xImage
  •  

為了在突然湧入流量時候讓保持系統穩定,加開機器會是讓系統承受更多流量的其中一個解法,如果使用的是AWS的EC2,就可以使用EC2的Auto Scaling讓系統自動加開機器。而在部署系統的時候,可以使用cloudformation設定ec2的Auto Scaling,只要撰寫好serverless framework的yaml檔,即可一次產生多台ec2並設定好Auto Scaling。

要使用Auto Scaling之前,必須先設定Launch Template,告訴AWS要使用的image id、instance type和security group,如果需要透過ssh登入機器,還需要設定key name,才能在ssh登入時,順利的讓使用者手中的key驗證通過。

service: gitlab-serverless-ci-cd
provider:
  name: aws
  stage: ${opt:stage}
  region: ${opt:region}

resources:
  Resources:
    AutoScalingtTemplate:
      Type: AWS::EC2::LaunchTemplate
      Properties:
        LaunchTemplateName: MyLaunchTemplate
        LaunchTemplateData:
          ImageId: ami-0885b1f6bd170450c
          InstanceType: t2.micro
          KeyName: test-blue-green
          SecurityGroupIds: 
            - sg-0ac12345678cefxxx

設定好Launch Template之後,就可以設定Auto Scaling Group,並指定subnet和Launch Template,並透過MinSize這個欄位設定要部署幾台機器,最多可以透過Auto Scaling機制新增幾台機器。

service: gitlab-serverless-ci-cd
provider:
  name: aws
  stage: ${opt:stage}
  region: ${opt:region}

resources:
  Resources:
    DeployASG:
      Type: AWS::AutoScaling::AutoScalingGroup
      Properties:
        VPCZoneIdentifier:
        - subnet-0765xxxxxxxx6b284
        LaunchTemplate:
          LaunchTemplateId: !Ref AutoScalingtTemplate
          Version: !GetAtt AutoScalingtTemplate.LatestVersionNumber
        MaxSize: '5'
        MinSize: '3'

上一篇
Day 12: 使用serverless framework建置AWS EC2
下一篇
Day 14: 使用serverless framework設定EC2的VPC、Subnet和對外連線
系列文
探索亞馬遜雨林30天30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言